IAMリソースの操作ログをAWS CloudTrailのイベント履歴でチェックする際にはバージニア北部に切り替える
こんにちは。サービス部の武田です。
AWSのリソースを操作するためにAPI呼び出しなどを行いますが、それらの操作ログはAWS CloudTrailを有効にしていると記録され、後から調査・確認などができます。
AWSのサービスは大まかに、リージョンサービスとグローバルサービスに分かれます。見分け方としては、マネジメントコンソールでアクセスした際に「グローバル」になるサービスがグローバルサービスです。グローバルサービスはグローバルエンドポイントが提供されており、ドキュメントでは次の8個が該当します。
- Amazon CloudFront
- AWS Global Accelerator
- AWS Identity and Access Management
- AWS Network Manager
- AWS Organizations
- Amazon Route 53
- AWS Shield Advanced
- AWS WAF Classic
最初にCloudTrailは操作ログを記録するサービスだと言いましたが、これはリージョンサービスになります。そのため先に挙げたグローバルサービスの操作ログはいずれかのリージョンに記録されることになります。ではどのリージョンに記録されるのかといえば、ほとんどが バージニア北部 のようです(少なくともIAMとCloudFrontは明記されています)。また、ドキュメントには次のように書かれています。
ほとんどのグローバルサービスの場合、イベントは米国東部 (バージニア北部) リージョンで発生しているものとしてログに記録されますが、一部のグローバルサービスイベントは米国東部 (オハイオ) リージョンや米国西部 (オレゴン) リージョンなどのその他のリージョンで発生しているものとしてログに記録されます。
具体的に「一部のグローバルサービスイベント」が何に該当するのかは探してみましたが見つけられませんでした(AWS Global Acceleratorのイベントがオレゴンだったりするんでしょうか?)。
IAMリソースの操作ログの確認
前置きが長くなりましたが、ここからが本題です。IAMロールなどに代表されるIAMリソースは、AWSセキュリティの要とも言えるリソースです。これらの操作履歴を確認したいというニーズは自然と発生するでしょう。確認する方法としては次のようなものが考えられます。
- CloudTrailのイベント履歴から確認
- S3バケットに配信されているログをAthenaで検索
- CloudTrail Lakeで検索
1番目のイベント履歴を使用する方法は、事前の設定などが必要なく手軽に実行できます。ところで、前述したようにIAMの操作ログは バージニア北部に記録 されています。そのため、東京リージョンでCloudTrailにアクセスをし、イベント履歴で確認しようとしても 履歴は見つかりません 。リージョンをバージニア北部に切り替えて確認するように気をつけてください。後ろ2つはリージョン横断で検索できるため、そこまでハマることはないはずです。
まとめ
CloudTrailのイベント履歴は無料で提供されており、手軽に操作履歴を確認できます。しかしグローバルサービスのリソースを確認する際には気をつけてください。あるはずの履歴が見つからず、1時間くらい時間を無駄にしないように……。